/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package gradius.Util;

import gradius.Elementos.Elemento;
import gradius.Elementos.TelaGrafica;

/**
 *
 * @author Eduardo
 */
public class Util
{
    public static boolean colisao(Elemento e1, Elemento e2) //testa a colisão por negação. Testa se não há colisão.
    {
        if (e1.getElementoCoordenada().getCoordX() > e2.getElementoCoordenada().getCoordX() + e2.getElementoTamanho().getCoordX()) return false; //obj1 está a direita de obj2
        if (e1.getElementoCoordenada().getCoordY() > e2.getElementoCoordenada().getCoordY() + e2.getElementoTamanho().getCoordY()) return false; //obj1 está abaixo de obj
        if (e1.getElementoCoordenada().getCoordX() + e1.getElementoTamanho().getCoordX() < e2.getElementoCoordenada().getCoordX()) return false; //obj1 está a esquerda de obj2
        if (e1.getElementoCoordenada().getCoordY() + e1.getElementoTamanho().getCoordY() < e2.getElementoCoordenada().getCoordY()) return false; //obj1 está acima de obj2

        return true; //existe colisão
    }

    public static boolean foraDaTela(Elemento e, TelaGrafica tela)
    {
        if (e.getElementoCoordenada().getCoordX() + e.getElementoTamanho().getCoordX() < 0)
        {
            return true;
        }
        if (e.getElementoCoordenada().getCoordY() + e.getElementoTamanho().getCoordY() < 0)
        {
            return true;
        }
        if (e.getElementoCoordenada().getCoordX() > tela.getBounds().getWidth())
        {
            return true;
        }
        if (e.getElementoCoordenada().getCoordY() > tela.getBounds().getHeight())
        {
            return true;
        }
        return false;
    }


}
